﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;


namespace LectorHuellaC
{
    public partial class AdmOpcionesAcceso : Form
    {

        string id_empleado;
        String versionapp = " 1.0";
        string id_empresa = Settings1.Default.id_empresa;
        string IdSucursal = Settings1.Default.IdSucursal;
        string tipocodigo = "";
        
        public AdmOpcionesAcceso()
        {
            InitializeComponent();
            cargarDatos();
            this.Text = " PVSFELNET " + versionapp + " (" + this.Text + ")";
            opcionTipoRegistro();
            
        }

        public void opcionTipoRegistro()
        {
            tipocodigo = tipoCodigo();

            if (tipocodigo.Equals("CAP"))
            {
                btnHuellaDigital.Text = "Codigo Teclado";
                btnHuellaDigital.Image = Image.FromFile(@"D:\solutions vs2010\PVSFELNET\PVSFELNET\Imagenes\teclado1.png");
                lblHuella.Text = "Permite la definicion de una clave de acceso para el registro de sus asistencias";
            }
            if (tipocodigo.Equals("TAR"))
            {
                btnHuellaDigital.Text = "Codigo de Barras";
                btnHuellaDigital.Image = Image.FromFile(@"D:\solutions vs2010\PVSFELNET\PVSFELNET\Imagenes\barcode.png");
                lblHuella.Text = "Permite la definicion de una clave de acceso para el registro de sus asistencias";
            }
        }
        

        private void cargarDatos()
        {
            cmbEmpleados.DataSource = null;
            cmbEmpleados.Items.Clear();

            ConectaBD conBD = new ConectaBD();
            DataSet ds = conBD.Consulta("Select id_empleado, Nombre from reloj_empleados Where "
            + " id_empresa = " + id_empresa + " And IdSucursal = '" + IdSucursal + "' and active_user=1");

            if (ds.Tables.Count == 0)
            {
                MessageBox.Show("Error en la consulta de empleados (T)", "Alta de usuarios", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            if (ds.Tables["Resultado"].Rows.Count == 0)
            {
                MessageBox.Show("Error en la consulta de empleados (R)", "Alta de usuarios", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            ArrayList arreglo = new ArrayList();
            foreach (DataRow dr2 in ds.Tables["Resultado"].Rows)
            {
                arreglo.Add(new ConectaBD.clsEmpleados(dr2["Nombre"].ToString(), dr2["id_empleado"].ToString()));
            }
            label2.Text = conBD.conexioStatus;
            cmbEmpleados.DataSource = arreglo;
            cmbEmpleados.DisplayMember = "NombreEmpleado";
            cmbEmpleados.ValueMember = "id_empleado";
            cmbEmpleados_SelectedIndexChanged(cmbEmpleados, System.EventArgs.Empty);
        }

        private void cmbEmpleados_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Desea salir realmente?", "Confirmar Salir", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                this.Close();
                this.Dispose();
            }
        }

        private void btnAgregarUsuario_Click(object sender, EventArgs e)
        {
            AgregarUsuario obj = new AgregarUsuario();
            obj.ShowDialog();
            cargarDatos();
        }

        private void cmbEmpleados_SelectedIndexChanged_1(object sender, EventArgs e)
        {
        }

        private void btnBajaUsuarios_Click(object sender, EventArgs e)
        {
            FormBajaUsuarios bajausuario = new FormBajaUsuarios();
            bajausuario.ShowDialog();
            cargarDatos();
        }

        private void btnHuellaDigital_Click(object sender, EventArgs e)
        {
            if (tipocodigo.Equals("HUE"))
            {
                id_empleado = Convert.ToString(cmbEmpleados.SelectedValue);
                AltaUsuario modhuellaDig = new AltaUsuario();
                modhuellaDig.sendUserSelected(id_empleado);
                modhuellaDig.ShowDialog();
            }
            if (tipocodigo.Equals("TAR") || tipocodigo.Equals("CAP"))
            {
                id_empleado = Convert.ToString(cmbEmpleados.SelectedValue);
                RegistrarCodigoTeclado obj = new RegistrarCodigoTeclado();
                obj.tipoConexion(label2.Text);
                obj.enviarIdUsuario(this.id_empleado);
                obj.ShowDialog();
            }

        }

        private void btnTeclado_Click(object sender, EventArgs e)
        {
                id_empleado = Convert.ToString(cmbEmpleados.SelectedValue);
                RegistrarCodigoTeclado obj = new RegistrarCodigoTeclado();
                obj.tipoConexion(label2.Text);
                obj.enviarIdUsuario(this.id_empleado);
                obj.ShowDialog();
        }

        public string tipoCodigo()
        {
            try
            {
                string tipo_codigo = "";
                ConectaBD conBD = new ConectaBD();
                String sentencia = "select op.`OpcionAcceso` from reloj_opcionesacceso op where "
                        + " op.`id_empresa`='" + id_empresa + "' and op.`IdSucursal`='" + IdSucursal + "' ";
                DataSet ds = new DataSet();
                ds = conBD.Consulta(sentencia);
                tipo_codigo = ds.Tables[0].Rows[0]["OpcionAcceso"].ToString();
                return tipo_codigo;
            }
            catch(Exception ex){
                MessageBox.Show("Se ha producido un error","Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
                return "";
            }

        }

        private void btnCap_incidencias_Click(object sender, EventArgs e)
        {
            CapturaIncidencias CapInc = new CapturaIncidencias();
            CapInc.ShowDialog();
        }

        private void button5_Click(object sender, EventArgs e)
        {

            ConsultaIncidencias frmConsultaIncidencias = new ConsultaIncidencias();
            frmConsultaIncidencias.tipoConexion(label2.Text);
            frmConsultaIncidencias.ShowDialog();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            OpcionesAccesoReloj frmOpAccesoReloj = new OpcionesAccesoReloj();
            frmOpAccesoReloj.tipoConexion(label2.Text);
            frmOpAccesoReloj.ShowDialog();
            opcionTipoRegistro();
        }

    }
}
